package dp;

import java.util.ArrayList;
import java.util.List;
//todo
public class KInversePairsArray629 {
//    public int kInversePairs(int n, int k) {
//        int[] data = new int[n + 1];
//        for (int i = 0; i < data.length; i++) {
//            data[i] = i;
//        }
//        List<int[]> result = new ArrayList<>();
//        backtracing(data, result, 1, k);
//        return result.size() % (10 ^ 9 + 7);
//    }
//
//    private void backtracing(int[] data, List<int[]> result, int index, int k) {
//        if (index == data.length) {
//            if (k == getInversePairCount(data)) {
//                result.add(data);
//            }
//            return;
//        }
//
//        for (int i = index; i < data.length; i++) {
//            swap(data, index, i);
//            backtracing(data, result, index + 1, k);
//            swap(data, i, index);
//        }
//    }
//
//    private int getInversePairCount(int[] data) {
//        int count = 0;
//        for (int i = 1; i < data.length; i++) {
//            for (int j = i + 1; j < data.length; j++) {
//                if (data[i] > data[j]) {
//                    count++;
//                }
//            }
//        }
//        return count;
//    }
//
//    private void swap(int[] data, int index, int i) {
//        int temp = data[index];
//        data[index] = data[i];
//        data[i] = temp;
//    }
}
